/**
 * 业务枚举值定义
 * 统一管理系统中使用的各种枚举值
 */

// 交易类型枚举
export const TRADE_TYPE = {
  RECHARGE: "RECHARGE", // 入款
  ENCASH: "ENCASH", // 回款
  BUY: "BUY", // 买料
  SELL: "SELL", // 卖料
  SAVE: "SAVE", // 入料
  TAKE: "TAKE", // 回料
  REFUND: "REFUND", // 违约结算
  ADD_RETAINER: "ADD_RETAINER", // 追加定金
};

// 交易类型中文映射
export const TRADE_TYPE_LABEL = {
  [TRADE_TYPE.RECHARGE]: "入款",
  [TRADE_TYPE.ENCASH]: "回款",
  [TRADE_TYPE.BUY]: "买料",
  [TRADE_TYPE.SELL]: "卖料",
  [TRADE_TYPE.SAVE]: "入料",
  [TRADE_TYPE.TAKE]: "回料",
  [TRADE_TYPE.REFUND]: "违约结算",
  [TRADE_TYPE.ADD_RETAINER]: "追加定金",
};


// 交易状态枚举
export const TRADE_STATUS = {
  INIT:"INIT",//申请中
  AUDITING: "AUDITING", // 处理中
  AUDIT_PASS: "AUDIT_PASS", // 成功
  CANCEL: "CANCEL", // 已取消
};

// 交易状态中文映射
export const TRADE_STATUS_LABEL = {
  [TRADE_STATUS.INIT]: "申请中",
  [TRADE_STATUS.AUDITING]: "处理中",
  [TRADE_STATUS.AUDIT_PASS]: "成功",
  [TRADE_STATUS.CANCEL]: "已取消",
};

// 交易状态样式映射
export const TRADE_STATUS_STYLE = {
  [TRADE_STATUS.INIT]: "pending",
  [TRADE_STATUS.AUDITING]: "pending",
  [TRADE_STATUS.AUDIT_PASS]: "success",
  [TRADE_STATUS.CANCEL]: "cancelled",
};

// 材料类型枚举
export const MATERIAL_TYPE = {
  GOLD: "GOLD", // 黄金
  SILVER: "SILVER", // 白银
  PLATINUM: "PLATINUM", // 铂金
  PALLADIUM: "PALLADIUM", // 钯金
};

// 材料类型中文映射
export const MATERIAL_TYPE_LABEL = {
  [MATERIAL_TYPE.GOLD]: "黄金",
  [MATERIAL_TYPE.SILVER]: "白银",
  [MATERIAL_TYPE.PLATINUM]: "铂金",
  [MATERIAL_TYPE.PALLADIUM]: "钯金",
};

// 金额类型枚举
export const AMOUNT_TYPE = {
  INCOME: "income", // 收入
  EXPENSE: "expense", // 支出
};

// 金额类型中文映射
export const AMOUNT_TYPE_LABEL = {
  [AMOUNT_TYPE.INCOME]: "收入",
  [AMOUNT_TYPE.EXPENSE]: "支出",
};

// 时间筛选选项
export const TIME_FILTER_OPTIONS = [
  { label: "全部时间", value: "all" },
  { label: "今天", value: "today" },
  { label: "昨天", value: "yesterday" },
  { label: "最近7天", value: "week" },
  { label: "最近30天", value: "month" },
  { label: "最近3个月", value: "quarter" },
];

// 类型筛选选项
export const TYPE_FILTER_OPTIONS = [
  { label: "全部类型", value: "all" },
  { label: "入款", value: "RECHARGE" },
  { label: "回款", value: "ENCASH" },
  { label: "买料", value: "BUY" },
  { label: "卖料", value: "SELL" },
  { label: "入料", value: "SAVE" },
];

// 状态筛选选项
export const TRADE_STATUS_OPTIONS = [
  { label: "全部状态", value: "all" },
  { label: "申请中", value: "INIT" },
  { label: "处理中", value: "AUDITING" },
  { label: "成功", value: "AUDIT_PASS" },
  { label: "已取消", value: "CANCEL" },
];

// 获取枚举值的中文标签
export function getTradeTypeLabel(type) {
  return TRADE_TYPE_LABEL[type] || type;
}



// 获取交易状态的中文标签
export function getTradeStatusLabel(status) {
  return TRADE_STATUS_LABEL[status] || status;
}

// 获取材料类型的中文标签
export function getMaterialTypeLabel(type) {
  return MATERIAL_TYPE_LABEL[type] || type;
}

// 获取金额类型的中文标签
export function getAmountTypeLabel(type) {
  return AMOUNT_TYPE_LABEL[type] || type;
}

// 导出所有枚举
export default {
  TRADE_TYPE,
  TRADE_TYPE_LABEL,
  TRADE_STATUS,
  TRADE_STATUS_LABEL,
  TRADE_STATUS_STYLE,
  MATERIAL_TYPE,
  MATERIAL_TYPE_LABEL,
  AMOUNT_TYPE,
  AMOUNT_TYPE_LABEL,
  TIME_FILTER_OPTIONS,
  TYPE_FILTER_OPTIONS,
  TRADE_STATUS_OPTIONS,
  getTradeTypeLabel,
  getTradeStatusLabel,
  getMaterialTypeLabel,
  getAmountTypeLabel,
};
